home *** CD-ROM | disk | FTP | other *** search
- #ifndef ORACLE_H
- #define ORACLE_H
-
- // Each object derived from this class is a random number generator.
- // random_number() returns integers uniformly distributed between 0 and
- // max_r_n_plus_1-1.
-
- class oracle
- {
- protected:
- int modulus;
- // max_r_n_plus_1-1
-
- long r_n [8];
- // The previous 8 proposed random numbers (some of which may be out
- // of range).
-
- long equal_or_larger_prime(int);
- // Returns the first prime number no less than a given number.
-
- int is_prime(long);
- // Returns TRUE if a number is prime, FALSE otherwise.
-
- long prime;
- // A prime number no less than max_r_n_plus_1.
-
- public:
- oracle(char *seed,int max_r_n_plus_1);
- // A string of up to 8 characters "seeds" the random number generator.
- // Random numbers distributed uniformly between 0 and max_r_n_plus_1-1
- // will be returned.
-
- int random_number(void);
- // Return a random number.
- };
-
- #endif
-